package eclipse;

import java.util.Scanner;

public class ArrayExercise10 {
    public static void main(String[] args) {
        System.out.println("几层汉诺塔:");
        int layer = new Scanner(System.in).nextInt();
        f(layer);
    }

    private static void f(int layer) {
        f(layer, "A", "B", "C");
    }

    private static void f(int layer, String z1, String z2, String z3) {
        //最简问题: 一层汉诺塔
        if(layer == 1){
            System.out.println(z1 + "------->" + z3);
            return;
        }
        // 上面的 n - 1 层, 从 z1 到 z3 到 z2
        f(layer - 1, z1, z3, z2);
        // 最下面的1层， 从z1 直接到z3
        System.out.println(z1 + "------>" + z3);
        // 在z2 的n - 1层, 经 z1 到 z3
        f(layer -1 , z2, z1, z3);
    }
}
